查看原文
其他

5分钟做完一万封函证:“多对一”邮件合并的高级用法|Dirty Work互助

一直在努力的小邱 案牍AutoDocs 2023-02-11
为了帮助大家能够在工作中更好地处理各类Dirty Work,案牍Autodocs会通过「Dirty Work互助者」这个专栏,分享一些解决Dirty Work的小妙招,让你宝贵的精力专注于更有价值的工作之上!

本文由案牍AutoDocs超级厉害的实习生
@一直在努力的小邱 授权发布|
感谢作者为案牍AutoDocs提供优质原创内容|


本文共计约3800个字,建议阅读时间15分钟。


前 言 

看到标题中的“邮件合并”,大家容易被这个名字劝退,以为只有处理邮件才用得上这个功能,其实不然。“邮件合并”应用的核心场景是一个固定模板(word形式)+ 批量待填写的类似数据(表格形式)。办公中的很多场景,例如:制作通知单、催缴单、询证函、签订合同等,都可以用邮件合并功能批量完成。今天,我们将学习如何将这个功能应用在制作封函证上。

#01 简单的“一对一”邮件合并

邮件合并是Office Word软件中一种可以批量处理的功能。一个Word包括所有文件共有内容的主文档(模板)和一个包括变化信息的数据源Excel(具体数据),使用邮件合并功能在主文档中插入变化的信息,合成后的文件用户可以保存为Word文档, 可以打印出来,也可以邮件形式发送。

今天我们的重点不是简单的邮件合并,因此这一部分的讲解会比较简略,下以电费催缴单制作为例给大家做一个示范。
我们假设物业公司有已经制作好的通知单模板,需要把欠缴电费的用户数据录入到Word中。

👈  向左滑动看看

首先,我们需要打开Word中的【邮件合并分布向导】菜单栏>邮件>开始邮件合并>邮件合并分步向导。


然后,结合下方的文字,跟紧动图教程:


  • 第一步,点击开始文档。

  • 第二步,选择使用当前文档。

  • 第三步,使用现有数据,点击“浏览",选择数据源,根据需要对数据进行筛选或者排序。

  • 第四步,在对应位置插入数据(插入的这个数据在邮件合并中叫做,在下一节中我们会详细展开)。

  • 第五步,进行预览。

  • 第六步,完成合并,选择输出方式,这里一般选择编辑单个信函。


我的电脑是Mac怎么办?
Mac由于没有邮件合并分步向导,第一步需要在【开始邮件合并】下拉菜单下选择【信函】,第二步【选择收件人】下拉菜单下选择【使用现有列表】选择excel数据源,其他的步骤都同上。
看到这里是不是跃跃欲试想实战演练了?但此时尝试开始制作封函证,你就会发现新的问题出现了,以下方的询证函为例:

👈  向左滑动看看

交易期间这栏出现了问题,我们希望呈现的效果应该是A公司对应2019,2020两个交易期间,而不是2019这个交易期间被重复了三次。


造成这一现象的原因是因为邮件合并读取excel数据是一条一条读取的,即在生成的一封询证函里,填写的数据都是同一行的,这就是“一对一”的意思,一行数据对应一个word。而我们做函证预想的结果是,多行excel数据对应一封函证,这也就是我们后续要介绍的“多对一”教程涉及的内容。
市面上的教程都是简单的一对一合并,应用场景都不够广泛,案牍AutoDocs作为自动化解决团队,当然要分享一些更高级的应用啦~


划到文尾,了解更多可以完成同样的场景应用案牍AutoDocs自动化解决方案教程真的太复杂了?

广告时间结束~
采用邮件合并的思路依然可以解决这个问题,我们需要做的就是修改读取数据的条件,简单来说就是告诉计算机:
在特定条件下先暂停,读取excel的下一行数据,然后再新建Word文档
在了解更高级的使用方法之前,我们需要我们先来了解一下什么是以及如何操作域

#02 你了解什么是“域”吗?

域,是指嵌入到Word文档中自动插入文字、图形等特定内容,或自动完成某些复杂功能的特殊代码。Word域相当于Excel中的函数,正确使用域,可以大幅减轻日常工作量,并降低错误几率。

在刚刚的例子中,我们执行第四步插入数据后,得到的是有两个小尖角括号的数据名称。


这两个小尖角是具有其特殊含义的。使用鼠标双击它,可以看到“用户”两字被两重阴影标灰了。此时按下Shift+F9,可以看到一对花括号、一个英文单词和带半角双引号的“用户”两字。


显示变成了{ MERGEFIELD "用户" },这就是域的本体,再次选中域,再按一次Shift+F9,域又变回了设定的“用户”二字(Mac是按“fn+Option+F9”)。域的组成就是一对花括号+英文名+中文名。花括号是域标记,英文名是域名,中文名是其他元素。
域不仅可以链接Excel的数据,还可以充当Word里Excel函数的作用。Word里的表格实际上也是可以像Excel那样进行运算的,而这个功能就是被放在了“域”里面。域运算的公式名:{ = 公式名(对象)  }举个例子:会计需要统计本月原材料剩余的期末数,在这个表格里期末数=期初数+本月购进-本月支出,可能有朋友会这样写=100+200-50。


这个时候我们只需要多一步操作就可以完成运算了:选中,按住Ctrl+F9生成了一对花括号,再按F9刷新数据(一定要按哦),再按Shift+F9显示域运算值。


仅仅做加减乘除并不是功能的全部,像excel那样可以直接拖动区域加减乘除的操作也是可以实现的。域运算有一定的结构:{ =公式名(对象) }再加上求和的英文名SUM,写作 =sum(A3:C3)
再来一遍操作:Ctrl+F9 > F9 > Shift+F9


这下再也不怕在一大堆表格中修个一个小数据了,直接Ctrl+A全选文档再按F9更新数据,Shift+F9还原显示就三键搞定啦~
需要注意的是:手动输入的花括号是不能识别的,这里的花括号一定要用Ctrl+F9生成。除此之外,还要注意刷新数据,刚生成域的时候,域是没有进行运算的,必须要按F9刷新数据才能得到结果。
word域提供了很多运算公式,SUM,AVERAGE,COUNT都是常用的函数,有兴趣的同学可以参考官方的文档,这里我们给大家整理了三个与域有关的快捷键。

快捷键
功能
Ctrl+F9
插入域
F9
更新域
Shift+F9
显示或隐藏域

现在,让我们进入今天的正题,用邮件合并功能生成多对一的函证。

#03 高级的“多对一”邮件合并

友情提示:这一块内容学起来难度较大,我们采用的教学方式是先把“答案”公布,但讲解顺序是按照原思维步骤来的。先公布答案,没有时间的同学可以立马出成果,有时间和想法的同学可以细细阅读慢慢打磨体会域代码的魅力。同时,域代码标准是英文全大写,因此下文会有一定的阅读障碍,做好心理准备。
在第一部分我们也提到了,想要做一份多行数据对应一封文档的邮件合并,需要设置数据读取条件。点击菜单栏的邮件,在编写和插入域模块有一个【规则】下拉菜单,Word为我们内置的邮件合并跳过条件都放在了这里。


那么先让我们来看这里的域代码。在解读域代码之前我先在excel里面构造了一列辅助列,注意这里的公式。下方第二张图是域代码,对代码的解释在最下方。

👈  向下滑动看看
Excel表格中,辅助列相当于一个开关:当下一行的公司是上一行相同的公司时,开关打开,接着读取;当下一行的公司不是上一行相同的公司时,开关关闭,切换下一张Word页面。我们用1代表开,0代表关
同时这里能想到的自然是用NEXTIF域:【如果……就……】如果开关是打开着的,就继续读取下一条数据。但NEXTIF域比较特殊,它是当条件成就时excel将会读取下一条记录,但对word显示下一条记录又是另一个命令,可以理解为邮件合并将“链接下一条记录”命令拆成了两个命令:下一条+链接。因此这里NEXTIF之后,我们仍需手动加上链接命令,即MERGEFIELD域,但特殊的是这里应该还有一个IF域
如果我们仅仅是在NEXTIF域命令之后加一个MERGEFIELD域命令,那么当NEXTIF条件不成就的时候是什么情况呢?【下一条+链接……下一条的条件不成就……】那就只剩下了“链接”的命令,也就是说无论有没有跳到下一行数据,能不能跳到下一行数据,都会Word表格第二行都会有一个“会计年度”的链接数值。


那么这里不对,当已经读取到某公司的最后一条记录时,下一行的显示应该为空,而不是再次重复。当NEXTIF条件不成就时,显示为空根据IF域规则,{ IF 判断条件 为真返回值 为假返回值 },那么就是:{ IF { MERGEFIELD 辅助列 } = 1 { MERGEFIELD 辅助列 } "" }
其实写到这里已经非常不容易了,初学者第一次写的时候这里极易出错:这个IF域代码在NEXTIF条件不成就的情况下显示的结果是正确的,但是在NEXTIF条件成就时又出现了新的问题了。
因为我们在前面有一个NEXTIF,也就是说这里IF域用的辅助列的值,已经是NEXT到下一行辅助列单元格的值了,那么对A公司这种第一条数据辅助列为1,第二条数据辅助列为0的情况,NEXTIF关通过了,但IF这一关,对不起,为0,那么将显示空值
因此在这里我们要再构建一个中间变量存储NEXTIF成功之前的辅助列的值,并且还要放置在NEXTIF域之前。这时,使用SET域,设置标签。SET域的规则是:{ SET 标签名称 标签值 }
如上图所示,{ SET A  {MERGEFIELD 辅助列}  }表示新建一个名为“A”的书签,且A的值为excel文件中辅助列的值,也就是开关。同时将IF域中判断条件的{ MERGEFIELD 辅助列 }修改为A标签。
完整演示如下:

至此,我们已经完成了所有步骤~快按下F9和Alt+F9并点击完成邮件合并保存文件吧~

#04 案牍Autodocs给你提供另外一种解决方案

强大的office中有很多高级功能,本篇文章就是通过介绍“邮件合并”功能帮助大家实现批量生成文件的目标。但是它的缺陷可能在于学习门槛相对较高,一整套完整的教程跟下来有没有真正弄懂是一回事,有这些学习的时间可能还不如直接沿用传统的工作方式。因此,案牍AutoDocs的文档自动化提供了一种更好的解决方案,无需写代码也可以高效完成这些文件制作工作。



关于我们

案牍AutoDocs是一个文档自动化平台。
一群来自律所、投行以及科技公司的年轻人,希望将规则和技术相结合,帮助专业服务提供者摆脱Dirty Work。
从法律行业出发,我们希望能够为大家提供一种跨时代的工作方式,帮助专业服务提供者提高生产力,将器械重复的工作自动化。
专业服务提供者无需具备编程技能,都可以在案牍AutoDocs上自助搭建基于业务规则自动生成文档的应用程序。
无论是法律、税务、财务、金融、合规领域还是其他专业领域的专业服务提供者,都能够利用案牍AutoDocs将专业知识转化成自动化服务应用。

点击“阅读原文”,跳转申请试用链接

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存